#include <stdio.h>

union node
{
    char a;
    short b;
    int c;
};

struct node1
{
    char a;
    short b;
    int c;
};

int main()
{
    union node n;
    printf("sizeof(node) = %d\n", sizeof(n));
    // union 联合类型 共用体 成员共用内存 只出现一个成员
    // 联合类型成员共用内存 只占用一个成员变量所占内存空间 占最大的那个成员

    // 联合类型赋值与访问
    n.a = 'a';
    printf("n.a = %c\n", n.a);

    n.b = 0x1234;
    printf("n.b = %#x\n", n.b);

    n.c = 0x12345678;
    printf("n.c = %#x\n", n.c);

    printf("n.a = %c\n", n.a);
    return 0;
}